home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / FixLineTView.C < prev    next >
C/C++ Source or Header  |  1990-12-04  |  838b  |  38 lines

  1. //$FixedLineTextView$
  2.  
  3. #include "FixLineTView.h"
  4.  
  5. MetaImpl0(FixedLineTextView);
  6.  
  7. FixedLineTextView::FixedLineTextView(EvtHandler *eh, Rectangle r, Text *t, eTextJust m, eSpacing sp, 
  8.                 bool doWrap, TextViewFlags fl, Point b, int id)
  9.             : TextView(eh, r, t, m, sp, doWrap, fl, b, id) 
  10. {
  11. }   
  12.  
  13. void FixedLineTextView::ConstrainScroll(Point *p)
  14. {
  15.     p->y= (p->y/LineHeight(0))*LineHeight(0);
  16. }
  17.  
  18. Point FixedLineTextView::LineToPoint (int n, bool basePoint, bool relative)
  19. {
  20.     n= range(0, nLines,n);
  21.     Point p(0, n * LineHeight(0));
  22.  
  23.     if (basePoint)
  24.     p.y += BaseHeight(n);
  25.     if (!relative)
  26.     p += GetInnerOrigin();
  27.     return p;
  28. }
  29.  
  30. int FixedLineTextView::PointToLine(Point p) // p is in coordinates relative to contentRect
  31. {
  32.     int line, y= 0;
  33.     p.y= max(0, p.y);
  34.     line= p.y / LineHeight(0);
  35.     return (min(nLines,line));
  36. }
  37.  
  38.